Python

您所在的位置:网站首页 cdo 官网 Python

Python

2023-03-30 12:56| 来源: 网络整理| 查看: 265

安装步骤总览:

1.先安装cdo package(使用.tar.gz安装)

2.再安装 python-cdo (使用conda安装)

背景,在Pycharm中使用 pip install cdo已经成功安装了cdo,但是运行以下代码时:

from cdo import * cdo = Cdo() help(cdo.sinfov)

仍然显示:

“TypeError: expected str, bytes or os.PathLike object, not NoneType”。Google+百度一圈后仍没找到解决方法。

然后参考了气海无涯作者的微信文章(cdo随笔三:Python-cdo之nc文件自动化处理 (qq.com)),

“最后,在stack网站上找到了原因,原来在cdo和python之间,还需要一个中间件:python-cdo。我们之前在命令行中执行的cdo和python-cdo是两码事,cdo是一个软件,而python-cdo是Python中的一个库,两者的使用环境不一样。”

因此我们需要一个桥梁将Python与cdo连通起来,该桥梁就是“python-cdo”

然后,尝试在pycharm-terminal中 输入

pip install python-cdo

返回结果显示

“ERROR: Could not find a version that satisfies the requirement python-cdo (from versions: none)

ERROR: No matching distribution found for python-cdo”

根本就没有与之相匹配的版本,因此pip安装行不通。

返回作者公众号文章,作者使用conda进行了安装。但是个人所有package都是采用pip安装,很多知乎大佬强烈建议不要conda和pip 混用(https://www.zhihu.com/question/395145313)。考虑到Python配置环境复杂和折磨,放弃使用conda在自己电脑上安装。

然后使用云服务器网站——和鲸社区(https://www.heywhale.com/)。

首先你先创建一个项目集,服务器资源我选择了“8核32G CPU”,因为之前用较低的版本安装时内存会溢出。镜像源选择的是“气象分析镜像”,尽管网站提示使用conda安装可能会有较多的冲突,但个人实测没问题;如果使用“基础镜像”,则需要install的package会特别多,容易出错。

一、CDO的安装

在启动页处选择Terminal,然后输入

conda install -c conda-forge cdo

你会发现巨慢无比,而且很多人使用conda安装cdo时总是卡在 solving environment 这一环节。

所以我结合了上一篇Cartopy安装的教程(Python | Pycharm 安装 Cartopy - 知乎 (zhihu.com)),决定采用.whl或者.tar.gz安装,熟练之后安装时间大概2min左右。

照例打开pypi网站(https://pypi.org/project/pyshp/),搜索cdo,发现是有 cdo-1.5.6.tar.gz 文件的。下载好之后上传到和鲸网站你自己的文件树中,建议直接上传到首页即可,这样后面安装能少输点。

安装cdo具体步骤:

1.1 打开启动页-选择 Terminal

1.2 进入到该安装包所在的文件夹

cd /home/mw

1.3 使用pip安装

pip install cdo-1.5.6.tar.gz

1.4 安装完成。

二、Python-cdo安装

之前已经说过了无法使用pip安装python-cdo,因此这一步我们使用conda安装,安装代码如下(https://anaconda.org/conda-forge/python-cdo)

BTW,因为网络的原因,可能会显示一直在重试/重连。如果出现上述情况,就把这四条代码都输入试一试(或者都不行就试试挂梯子)实测我使用第4条代码安装成功。

conda install -c "conda-forge/label/cf202003" python-cdo

安装python-cdo具体步骤:

2.1 关掉当前terminal,重新打开启动器-新建一个terminal

2.2 输入上述代码(一个不行就换一个)

2.3 可能会提示需要补充安装其他package,选择y即可

2.4 安装完成,出现一系列Done就已经安装完成了

3. 测试

3.1 挂载上传你需要处理的数据集

3.2 新建一个Terminal

3.3 进入存有你.nc文件的文件夹(路径看左侧文件树),使用cd的方式进入该文件夹。

3.4 进入后使用cdo代码规则进行数据预处理即可。

这里就不展示运行的详细数据了,但是实践是完全能够调用cdo的。

强烈推荐:

Python+Cdo的具体使用可以参考摸鱼大佬的视频,内容翔实丰富(摸鱼的气象&Python: CDO,Python+CDO和python-cdo_哔哩哔哩_bilibili

缺点:

1.你需要处理的数据如果较大的话,挂载上传可能会耗费较多时间(不过应该快过百度网盘),应急或者处理较少的数据是可以的。^_^

ref:

[1] https://mp.weixin.qq.com/s/-nV4fs9f1IK2IFpmuHI59g

[2] https://blog.csdn.net/weixin_44237337/article/details/122360334?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166480450816782248542793%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166480450816782248542793&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-3-122360334-null-null.142^v51^pc_rank_34_2,201^v3^control_2&utm_term=cdo%20%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187

[3] https://www.bilibili.com/video/BV1mg411V7o5/?spm_id_from=333.999.0.0&vd_source=5cc1558c40e6dfb429fc9993f5ef51cc



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3